//引入封装好的管理员列表接口
import {userList,userCount} from '../../../util/request/api'
//封装管理员管理的状态管理
const state = {
    //管理员列表
    userlist:[],
    // 每一页显示
    size:2,
    // 页码
    page:1,
    // 初始总条数
    count:0
}

const getters ={
    // 数据列表 
    getUserList(state){
        return state.userlist
    },
    // 总条数
    getCount(state){
        return state.count
    },
    // 展示条数
    getSize(state){
        return state.size
    }

}

const mutations = {
    REQ_USERLIST(state,payload){
        state.userlist = payload
    },    
    REQ_USERCOUNT(state,payload){
        state.count = payload
    },
    REQ_CHANGEPAGE(state,payload){
        // 修改页面
        state.page = payload

    },

}

const actions ={
    //封装一个行动用于修改每页显示数量
    getUserAction(context){
        console.log(context,'context');
        userList({
            size:context.state.size,//查询条数
            page:context.state.page//页码数
        })
        .then(res=>{
            if(res.code==200){
                context.commit('REQ_USERLIST',res.list)
                // 当页面删除到没有数据时，页面应当返回上一页，但会失效
                let list = res.list?res.list:[]
                if (context.state.page!=1&&list.length==0) {
                    context.state.page = context.state.page-1
                    // 重新调用接口
                    context.dispatch('getUserAction')
                }

            }
        })
    },
    // 获取总条数
    getCountAction(context){
        userCount()
        .then(res=>{
            console.log(res,'guanliyuan1');
            if (res.code==200) {
                context.commit('REQ_USERCOUNT',res.list[0].total)
            }
        })
    },
    // 分页事件
    changePageAction(context,payload){
        console.log(payload,'payload');
        // 修改page
        context.commit('REQ_CHANGEPAGE',payload)
        // 重新掉接口
        context.dispatch('getUserAction')
    }
}

export default {
    state,
    getters,
    mutations,
    actions,
    namespaced:true
}